If Else: Exercício 2
//Escreva um algoritmo que leia 4 notas de um aluno de 0 a 10.
//Leia a quantidade de aulas que foram ministradas e a quantidade de aulas que o aluno faltou.
//Calcule uma media simples entre as 4 notas e também o percentual de faltas do aluno.
//Ao termino informe o aluno foi:
//Reprovado por falta. PercentualFaltas >= 25
//Aprovado. MediaNotas notas >= 6
//Recuperação. MediaNotas >= 3 e < 6
//Reprovado por Nota. MediaNotas < 3
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
float nota1, nota2, nota3, nota4;
float media, percentualFaltas;
int qtdeAulasDadas, qtdeFaltas;
System.out.print("Digite a nota 1: ");
nota1 = teclado.nextFloat();
System.out.print("Digite a nota 2: ");
nota2 = teclado.nextFloat();
System.out.print("Digite a nota 3: ");
nota3 = teclado.nextFloat();
System.out.print("Digite a nota 4: ");
nota4 = teclado.nextFloat();
System.out.print("Digite a quantidade de aulas dadas: ");
qtdeAulasDadas = teclado.nextInt();
System.out.print("Digite a quantidade de faltas do aluno: ");
qtdeFaltas = teclado.nextInt();
media = (nota1 + nota2 + nota3 + nota4) / 4;
percentualFaltas = (qtdeFaltas * 100) / qtdeAulasDadas;
if (percentualFaltas > 25){
//é executado se a condicao (percentualFaltas > 25) for verdadeira
System.out.printf("Aluno reprovado por faltas (%.1f%%) faltas.", percentualFaltas);
} else if (media >= 6) {
//é executado se a condicao (media >= 6) for verdadeira
System.out.printf("Aluno aprovado, a média foi %.2f pontos.", media);
} else if (media >= 4){
// é executado se a condicao (media >= 4) for verdadeira
System.out.printf("Aluno de recuperação, a média foi %.2f pontos.", media);
} else {
// é executado se a condicao (media < 4) for verdadeira
System.out.printf("Aluno reprovado por nota. Nota final %.2f pontos.", media);
}
teclado.close();
}
}
Outras versões menos eficientes deste algoritmo apenas olhando para o bloco if else:
if (media >= 6 && percentualFaltas < 25) {
//é executado se a condicao (media >= 6) for verdadeira
System.out.printf("Aluno aprovado, a média foi %.2f pontos.", media);
} else if (media >= 4 && percentualFaltas < 25){
// é executado se a condicao (media >= 4) for verdadeira
System.out.printf("Aluno de recuperação, a média foi %.2f pontos.", media);
} else if (media < 4 && percentualFaltas < 25){
// é executado se a condicao (media < 4) for verdadeira
System.out.printf("Aluno reprovado por nota. Nota final %.2f pontos.", media);
} else if (percentualFaltas > 25 && percentualFaltas < 25){
//é executado se a condicao (percentualFaltas > 25) for verdadeira
System.out.printf("Aluno reprovado por faltas (%.1f%%) faltas.", percentualFaltas);
}
Outra Versão
if (percentualFaltas > 25){
//é executado se a condicao (percentualFaltas > 25) for verdadeira
System.out.printf("Aluno reprovado por faltas (%.1f%%) faltas.", percentualFaltas);
} else if (media >= 4 && media < 6) {
// é executado se a condicao (media >= 4) for verdadeira
System.out.printf("Aluno de recuperação, a média foi %.2f pontos.", media);
} else if (media >= 6) {
//é executado se a condicao (media >= 6) for verdadeira
System.out.printf("Aluno aprovado, a média foi %.2f pontos.", media);
} else if (media < 4){
// é executado se a condicao (media < 4) for verdadeira
System.out.printf("Aluno reprovado por nota. Nota final %.2f pontos.", media);
}
Outra Versão
if (percentualFaltas > 25){
//é executado se a condicao (percentualFaltas > 25) for verdadeira
System.out.printf("Aluno reprovado por faltas (%.1f%%) faltas.", percentualFaltas);
} else {
if (media >= 6) {
//é executado se a condicao (media >= 6) for verdadeira
System.out.printf("Aluno aprovado, a média foi %.2f pontos.", media);
} else {
if (media >= 4) {
// é executado se a condicao (media >= 4) for verdadeira
System.out.printf("Aluno de recuperação, a média foi %.2f pontos.", media);
} else {
if (media < 4){
// é executado se a condicao (media < 4) for verdadeira
System.out.printf("Aluno reprovado por nota. Nota final %.2f pontos.", media);
}
}
}
}